home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
elv18src.zip
/
config.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-01-13
|
18KB
|
762 lines
/*
* vi configuration file
* We try to automatically configure to various compilers and operating
* systems. Extend the autoconf section as needed.
*/
#ifndef _CONFIG_H
# define _CONFIG_H
/*************************** autoconf section ************************/
/* Commodore-Amiga */
#ifdef amiga
# define AMIGA 1
# define COMPILED_BY "Manx Aztec C 5.2b"
# define TINYSTACK 1
#endif
/* standard unix V (?) */
#ifdef M_SYSV
# define UNIXV 1
# ifdef M_XENIX
# ifndef M_I386
# define TINYSTACK 1
# endif
# endif
# undef COHERENT
#endif
/* HPUX 8.07 */
#ifdef hpux
# define UNIXV 1
# define TERMIOS 1
#endif
/* linux */
#ifdef linux
# define UNIXV 1
# define TERMIOS 1
# define LINUX 1
#endif
/* xelos system, University of Ulm */
#ifdef xelos
# define UNIXV 1
#endif
/* BSD UNIX? */
#ifdef bsd
# define BSD 1
#else
# ifdef sun
# ifndef M_SYSV
# define BSD 1
# endif
# endif
# ifdef __386BSD__
# define BSD 1
# endif
#endif
/* Microsoft C: sorry, Watcom does the same thing */
#ifdef M_I86
# ifndef M_SYSV
# define MSDOS 1
# ifdef IBMC2
# define COMPILED_BY "IBM C/2 1.00"
# else
# define MICROSOFT 1
# define COMPILED_BY "Microsoft C 5.10"
# endif
# define TINYSTACK 1
# endif
#endif
/* Borland's Turbo C */
#ifdef __TURBOC__
# define MSDOS 1
# define TURBOC 1
# ifdef __BORLANDC__
# define COMPILED_BY (__BORLANDC__ == 0x0200 ? "Borland C++ 2.00" : \
(__BORLANDC__ == 0x0400 ? "Borland C++ 3.0" : \
(__BORLANDC__ == 0x0410 ? "Borland C++ 3.1" : \
"Borland C++ > 3.1!" ) ) )
# else
# define COMPILED_BY (__TURBOC__ >= 661 ? "Turbo C++ 1.00" : "Turbo C 2.00")
# endif
# define TINYSTACK 1
#endif
/* Tos Mark-Williams */
#ifdef M68000
# define TOS 1
# define COMPILED_BY "Mark Williams C"
# define TINYSTACK 1
#endif
/* Tos GNU-C */
#ifdef __atarist__
# ifdef __gem__
# define TOS 1
# define COMPILED_BY "GNU-C " __VERSION__
# define TINYSTACK 1
# endif
#endif
/* OS9/68000 */
#ifdef OSK
# define COMPILED_BY "Microware C V2.3 Edition 40"
# define TINYSTACK 1
#endif
/* DEC Rainbow, running MS-DOS (handled by earlier MS-DOS tests) */
/* (would need -DRAINBOW in CFLAGS to compile a Rainbow-compatible .EXE) */
#if VMS
# define COMPILED_BY "VAX/VMS VAXC compiler"
# undef VMS
# define VMS 1
#endif
#ifdef __EMX__
# define COMPILED_BY "emx+gcc " __VERSION__ " on " __DATE__
#endif
#ifdef COHERENT
# ifdef _I386
# define COH_386 1
# define COH_286 0
# else
# define COH_386 0
# define COH_286 1
# endif
# undef COHERENT
# define COHERENT 1
#endif
/*************************** end of autoconf section ************************/
/* All undefined symbols are defined to zero here, to allow for older */
/* compilers which dont understand #if defined() or #if UNDEFINED_SYMBOL */
/*************************** operating systems *****************************/
#ifndef BSD
# define BSD 0 /* UNIX - Berkeley 4.x */
#endif
#ifndef UNIXV
# define UNIXV 0 /* UNIX - AT&T SYSV */
#endif
#ifndef UNIX7
# define UNIX7 0 /* UNIX - version 7 */
#endif
#ifndef MSDOS
# define MSDOS 0 /* PC DOS*/
#endif
#ifndef OS2
# define OS2 0 /* OS2 */
#endif
#ifndef TOS
# define TOS 0 /* Atari ST */
#endif
#ifndef AMIGA
# define AMIGA 0 /* Commodore Amiga */
#endif
#ifndef OSK
# define OSK 0 /* OS-9 / 68k */
#endif
#ifndef COHERENT
# define COHERENT 0 /* Coherent */
#endif
#ifndef LINUX
# define LINUX 0 /* Linux */
#endif
#ifndef RAINBOW /* DEC Rainbow support, under MS-DOS */
# define RAINBOW 0
#endif
#ifndef VMS
# define VMS 0 /* VAX/VMS */
#endif
#ifndef OS2
# define OS2 0 /* PC OS/2 */
#endif
/* Minix has no predefines */
#if !BSD && !UNIXV && !UNIX7 && !MSDOS && !TOS && !AMIGA && !OSK && !COHERENT && !VMS && !LINUX && !OS2
# define MINIX 1
#else
# define MINIX 0
#endif
/* generic combination of Unices */
#if UNIXV || UNIX7 || BSD || MINIX || COHERENT || LINUX
# define ANY_UNIX 1
#else
# define ANY_UNIX 0
#endif
#ifndef TINYSTACK
# define TINYSTACK 0
#endif
#ifdef TERMIOS
# define TERMIOS 1
#else
# define TERMIOS 0
#endif
/*************************** compilers **************************************/
#ifndef AZTEC_C
# define AZTEC_C 0
#endif
#ifndef MICROSOFT
# define MICROSOFT 0
#endif
#ifndef TURBOC
# define TURBOC 0
#endif
/* Should we use "new style" ANSI C prototypes? */
#ifdef __STDC__
# define NEWSTYLE 1
#endif
#ifdef __cplusplus
# define NEWSTYLE 1
#endif
#ifdef __TURBOC__
# define NEWSTYLE 1
#endif
#ifndef NEWSTYLE
# define NEWSTYLE 0
#endif
#if NEWSTYLE
# define P_(s) s
#else
# define P_(s) ()
#endif
/* Do we have standard C headers? */
#ifdef __STDC__
# define HAS_STDLIB 1
#endif
#ifdef __TURBOC__
# define HAS_STDLIB 1
#endif
#ifndef HAS_STDLIB
# define HAS_STDLIB 0
#endif
/******************************* Credit ************************************/
#if MSDOS
# define CREDIT "Ported to MS-DOS by Guntram Blohm & Martin Patzel"
# ifdef RAINBOW
# define CREDIT2 "Rainbow support added by Willett Kempton"
# endif
#endif
#if AMIGA
# define CREDIT "Ported to AmigaDOS 2.04 by Mike Rieser & Dale Rahn"
#endif
#if TOS
# define CREDIT "Ported to Atari/TOS by Guntram Blohm & Martin Patzel"
#endif
#if OSK
# define CREDIT "Ported to Microware OS9/68k by Peter Reinig"
#endif
#if COHERENT
# define CREDIT "Ported to Coherent by Esa Ahola"
#endif
#if VMS
# define CREDIT "Ported to VAX/VMS by John Campbell"
#endif
#if OS2
# define CREDIT "Ported to OS/2 by Kai Uwe Rommel & Greg Roelofs"
#endif
/**************************** Compiler quirks *********************************/
/* the UNIX version 7 and (some) TOS compilers, don't allow "void" */
#if UNIX7 || TOS
# define void int
#endif
/* as far as I know, all compilers except version 7 support unsigned char */
/* NEWFLASH: the Minix-ST compiler has subtle problems with unsigned char */
#if UNIX7 || MINIX
# define UCHAR(c) ((c) & 0xff)
# define uchar char
#else
# define UCHAR(c) ((unsigned char)(c))
# define uchar unsigned char
#endif
/* UNIX declares lseek in <unistd.h>. Everybody else (except Amiga) wants
* lseek declared here. Note: "off_t" may be preferable to "long".
*/
#if ANY_UNIX
# include <sys/types.h>
# include <unistd.h>
#else
# if !AMIGA
extern long lseek();
# endif
#endif
/* Some compilers prefer to have malloc declared as returning a (void *) */
/* ANSI, on the other hand, needs the arguments to free() to be cast */
#if !HAS_STDLIB
# if BSD || AMIGA || MINIX
extern void *malloc();
# define _free_(ptr) free((void *)ptr)
# else
extern char *malloc();
# define _free_(ptr) free((char *)ptr)
# endif
#else
# define _free_(ptr) free((void *)ptr)
#endif /* __STDC__ */
/* ANSI C has getenv() and atol() declared in stdlib.h, which we've already
* included. Other compilers will need them declared here, though.
*/
#if !HAS_STDLIB
extern char *getenv();
extern long atol();
#endif
/* Signal handler functions used to return an int value, which was ignored.
* On newer systems, signal handlers are void functions. Here, we try to
* guess the proper return type for this system.
*/
#ifndef __STDC__
# if MINIX || TOS
# define SIGTYPE int
# endif
#endif
#ifndef SIGTYPE
# define SIGTYPE void
#endif
/* There are two terminal-related functions that we need: ttyread() and
* ttywrite(). The ttyread() function implements read-with-timeout and is
* a true function on all systems. The ttywrite() function is almost always
* just a macro...
*/
#if !TOS && !AMIGA
# define ttywrite(buf, len) write(1, buf, (unsigned)(len)) /* raw write */
#endif
/* The strchr() function is an official standard now, so everybody has it
* except Unix version 7 (which is old) and BSD Unix (which is academic).
* Those guys use something called index() to do the same thing.
*/
#if BSD || UNIX7 || OSK
# define strchr index
# define strrchr rindex
#endif
#if !NEWSTYLE
extern char *strchr();
#endif
/* BSD uses bcopy() instead of memcpy() */
#if BSD && !hpux
# define memcpy(dest, src, siz) bcopy(src, dest, siz)
#endif
/* BSD uses getwd() instead of getcwd(). The arguments are a little different,
* but we'll ignore that and hope for the best; adding arguments to the macro
* would mess up an "extern" dec